﻿//
// Copyright (c) 2024 BPer
//
#ifndef INCLUDE_BPERPLAYER_BPERPLAYERHANDLE_H_
#define INCLUDE_BPERPLAYER_BPERPLAYERHANDLE_H_

#include <bperutil/buffer/BPerVideoBuffer.h>
#include <bperutil/sys/BPerSysMessageI.h>
#include <bperutil/BPerAvInfoType.h>
class BPerPlayerHandle {
public:
	BPerPlayerHandle(){};
	virtual ~BPerPlayerHandle(){};
	virtual BPerVideoBuffer* getVideoBuffer()=0;
	virtual int play(char* url)=0;
	virtual int32_t playRtc(int32_t puid,char* localIp, char* server, int32_t pport,char* app,char* stream)=0;
	virtual int32_t playRtc(int32_t puid,char* url)=0;
	virtual void stopPlay()=0;
    static BPerPlayerHandle* createPlayerHandle(BPerContext* pcontext,BPerSysMessageI* pmessage);
};

#endif /* INCLUDE_BPERPLAYER_BPERPLAYERHANDLE_H_ */
